Команды
В t-Plot управлять игрой с помощью команд. Команды выглядят так:
<<wait 2>>
<<typing 4>>
Команды не показываются игроку напрямую; вместо этого они используются для таких действий, ожидания или, например, отправки статуса "печатает"
Команды чата
Если вам необходимо изменить стандартные значения wait, time_for_status или reaction, для конкретного сообщения, или по сюжету, вам, например, нужно сделать паузу в диалоге, отправить статус "печатает" или изменить реакцию на неожиданное сообщение пользователя, вы можете использовать следующие команды:
wait
Команда wait приостанавливает диалог на указанное количество секунд, а затем возобновляет его.
Пример:
// Ждать 2 секунды
<<wait 2>>
typing
Команда typing отправляет статус "печатает" на указанное количество секунд.
Пример:
// Печатает 4 секунды
<<typing 4>>
upload_photo
Команда upload_photo отправляет статус "Отправляет фото" на указанное количество секунд.
Пример:
// Отправляет фото 4 секунды
<<upload_photo 4>>
record_voice
Команда record_voice отправляет статус "Записывает голосовое сообщение" на указанное количество секунд.
Пример:
// Записывает голосовое сообщение 4 секунды
<<record_voice 4>>
record_video_note
Команда record_video_note отправляет статус "Записывает видео" на указанное количество секунд.
Пример:
// Записывает видео 4 секунды
<<record_video_note 4>>
reaction
Команда reaction изменяет реакцию на неожиданное сообщение пользователя до следущего сообщения бота.
Пример:
// Изменяет реакцию на неожиданное сообщение пользователя
<<reaction angry>>
Команды потока
jump
Команда jump отправит пользователя к указанной ноде.
Пример:
// П ереход к ноде my_first_node
<<jump my_first_node>>
Монетизация
payment
Команда payment позволяет вам предложить пользователю покупку дополнительных возможностей, скрытых веток или разделить игру на демо-версию и полную версию. Пользователь не сомжет пройти дальше, пока не совершит покупку, кнопка "Отмена" вернёт пользователя на предыдущий уровень.
Каждая команда payment должна содержать идентификатор, в случае оплаты мы запишем что данный пользователь оплатил данный payment и больше не будем спрашивать об оплате для данного идентификатора.
Пример:
Привет, хочешь купить дополнительный контент?
-> Да
<<payment 100 my_first_payment>>
<<jump my_paid_node>>
-> Нет
<<jump my_free_node>>
В этом случае, если пользователь выберет от вет "Да", ему будет предложено совершить покупку за 100 TPoints с идентификатором my_first_payment. После успешной оплаты пользователь будет перенаправлен на ноду my_paid_node. Если пользователь выберет ответ "Нет", он будет перенаправлен на ноду my_free_node.
Если пользователь захочет отменить покупку, он может нажать кнопку "Отмена" и вернуться на предыдущий уровень, то есть ему снова покажется сообщение "Привет, хочешь купить дополнительный контент?".
Будте аккурны, если вы разместите комманду payment в корне ноды, то пользователь при нажатии кнопки отмены вернётся на начало ноды, таким образом поместив комманду payment в корень ноды вы заставите пользователя либо совершить покупку, либо бросить игру. Пример:
title: payment_example
---
Привет, хочешь купить дополнительный контент?
// Тут если пользователь отменит платёж, он вернётся на начало ноды
<<payment 100 my_first_payment>>
<<jump my_paid_node>>
===
Представим что пользователь совершил платёж и идентификатор "my_first_payment" записался как оплаченный, теперь если пользователь вернётся на эту ноду, или встретит платёж с таким же идентификатором в другом месте, то ему не будет предложено совершить платёж, а он сразу перейдёт дальше.